using ns4;
using System;
namespace ns10
{
	internal abstract class Class13
	{
		private class Class14 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return (int_0 + int_1 & 1) == 0;
			}
		}
		private class Class15 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return (int_0 & 1) == 0;
			}
		}
		private class Class16 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return int_1 % 3 == 0;
			}
		}
		private class Class17 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return (int_0 + int_1) % 3 == 0;
			}
		}
		private class Class18 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return (SupportClass.URShift(int_0, 1) + int_1 / 3 & 1) == 0;
			}
		}
		private class Class19 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				int num = int_0 * int_1;
				return (num & 1) + num % 3 == 0;
			}
		}
		private class Class20 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				int num = int_0 * int_1;
				return ((num & 1) + num % 3 & 1) == 0;
			}
		}
		private class Class21 : Class13
		{
			internal override bool vmethod_0(int int_0, int int_1)
			{
				return ((int_0 + int_1 & 1) + int_0 * int_1 % 3 & 1) == 0;
			}
		}
		private static readonly Class13[] class13_0 = new Class13[]
		{
			new Class13.Class14(),
			new Class13.Class15(),
			new Class13.Class16(),
			new Class13.Class17(),
			new Class13.Class18(),
			new Class13.Class19(),
			new Class13.Class20(),
			new Class13.Class21()
		};
		private Class13()
		{
		}
		internal void method_0(BitMatrix bitMatrix_0, int int_0)
		{
			for (int i = 0; i < int_0; i++)
			{
				for (int j = 0; j < int_0; j++)
				{
					if (this.vmethod_0(i, j))
					{
						bitMatrix_0.flip(j, i);
					}
				}
			}
		}
		internal abstract bool vmethod_0(int int_0, int int_1);
		internal static Class13 smethod_0(int int_0)
		{
			if (int_0 < 0 || int_0 > 7)
			{
				throw new ArgumentException();
			}
			return Class13.class13_0[int_0];
		}
	}
}
